package com.itjin.service;

import com.itjin.model.domain.entity.HotUpdateConfig;
import com.itjin.model.domain.vo.HotUpdateConfigVO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import org.springframework.web.multipart.MultipartFile;

public interface ConfigService extends IService<HotUpdateConfig> {

  /**
   * 获取最新的配置信息
   * 
   * @param currentVersion 当前版本
   * @param platform       平台（android/ios）
   * @return 配置信息列表
   */
  List<HotUpdateConfigVO> getLatestConfigs(String currentVersion, String platform);

  /**
   * 添加新的配置
   * 
   * @param config 配置信息
   * @return 是否添加成功
   */
  boolean addConfig(HotUpdateConfig config);

  /**
   * 更新配置
   * 
   * @param config 配置信息
   * @return 是否更新成功
   */
  boolean updateConfig(HotUpdateConfig config);

  /**
   * 删除配置
   * 
   * @param id 配置ID
   * @return 是否删除成功
   */
  boolean deleteConfig(Integer id);

  /**
   * 上传APK文件并生成配置
   * 
   * @param file        APK文件
   * @param version     版本号
   * @param platform    平台
   * @param description 描述
   * @param forceUpdate 是否强制更新
   * @return 下载链接
   */
  String uploadApkAndGenerateConfig(MultipartFile file, String version, String platform, String description,
      Integer forceUpdate);
}